//package com.zmn.plat.dubbo.interfaces.channel;
//
//import javax.validation.constraints.NotEmpty;
//import javax.validation.constraints.NotNull;
//import javax.validation.constraints.Positive;
//
//import com.zmn.common.dto2.ResponseDTO;
//
//import com.zmn.plat.common.dto.pilot.PilotEarnesPriceDRO;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import io.swagger.annotations.ApiParam;
//
//import java.util.List;
//import java.util.Map;
//
///**
// * 渠道城市一口价
// *
// * @author xiangjunming
// * @since 2019/11/28 14:46:29
// */
//@Api(value = "渠道城市一口价", tags = {"一口价"})
//public interface ChannelOnePriceListRemoteService {
//
//    /**
//     * 查询渠道城市是否执行一口价
//     *
//     * @param channelId the channel id
//     * @param cityId    the city id
//     * @return the response dto 返回true表示执行一口价，false则不执行一口价
//     */
//    @ApiOperation(value = "查询渠道城市是否执行一口价", response = ResponseDTO.class, notes = "true表示执行一口价，false则不执行一口价", tags = "一口价")
//    ResponseDTO<Boolean> checkSupportOnePriceByChannelIdAndCityId(
//            @NotNull(message = "channelId不能为空") @Positive(message = "channelId必须为大于0的正整数") @ApiParam(value = "渠道ID", required = true) Integer channelId,
//            @NotNull(message = "cityId不能为空") @Positive(message = "cityId必须为大于0的正整数") @ApiParam(value = "城市id", required = true) Integer cityId);
//
//    /**
//     * 查询渠道城市是否支持一口价、计价器等
//     *
//     * @param channelId the channel id
//     * @param cityId    the city id
//     * @param type      类型：1一口价， 2计价器(故障维度)
//     * @return the response dto 返回true表示支持，false则不支持
//     */
//    @ApiOperation(value = "查询渠道城市是否支持一口价、计价器等", response = ResponseDTO.class, notes = "渠道城市是否支持一口价、计价器等", tags = "一口价")
//    ResponseDTO<Boolean> checkSupportByChannelIdAndCityIdAndType(
//            @NotNull(message = "channelId不能为空") @Positive(message = "channelId必须为大于0的正整数") @ApiParam(value = "渠道ID", required = true) Integer channelId,
//            @NotNull(message = "cityId不能为空") @Positive(message = "cityId必须为大于0的正整数") @ApiParam(value = "城市id", required = true) Integer cityId,
//            @NotNull(message = "type不能为空") @Positive(message = "type必须为大于0的正整数") @ApiParam(value = "类型", required = true) Integer type);
//
//    /**
//     * 查询渠道城市是否支持计价器、三日退试点、优惠限制
//     *
//     * @param channelId   the channel id
//     * @param cityId      the city id
//     * @param type        类型：2计价器(故障维度)，3 三日退试点，4 优惠限制，5 维修机器人 6 预计价
//     * @param servCategId 前台产品-服务分类ID
//     * @param categId     前台产品-二级产品分类ID
//     * @return the response dto 返回true表示支持，false则不支持
//     */
//    @ApiOperation(value = "查询渠道城市是否支持计价器、三日退试点、优惠限制、维修机器人", response = ResponseDTO.class, notes = "渠道城市是否支持计价器、三日退试点、优惠限制", tags = "计价器、三日退试点、优惠限制")
//    ResponseDTO<Boolean> checkSupportByChannelIdAndCityIdAndTypeAndCategId(
//            @NotNull(message = "channelId不能为空") @Positive(message = "channelId必须为大于0的正整数") @ApiParam(value = "渠道ID", required = true) Integer channelId,
//            @NotNull(message = "cityId不能为空") @Positive(message = "cityId必须为大于0的正整数") @ApiParam(value = "城市id", required = true) Integer cityId,
//            @NotNull(message = "type不能为空") @Positive(message = "type必须为大于0的正整数") @ApiParam(value = "类型", required = true) Integer type,
//            @NotNull(message = "servCategId不能为空") @Positive(message = "servCategId必须为大于0的正整数") @ApiParam(value = "前台产品-服务分类ID", required = true) Integer servCategId,
//            @NotNull(message = "categId不能为空") @Positive(message = "categId必须为大于0的正整数") @ApiParam(value = "前台产品-二级产品分类ID", required = true) Integer categId);
//
//    /**
//     * 查询产品是否支持计价器 无需校验后台产品是否支持计价器
//     *
//     * @param channelId     the channel id
//     * @param cityId        the city id
//     * @param type          类型：2计价器(故障维度)
//     * @param showProductId 前台产品ID
//     * @return the response dto 返回true表示支持，false则不支持
//     */
//    @ApiOperation(value = "查询产品是否支持计价器", response = ResponseDTO.class, notes = "无需校验后台产品是否支持计价器", tags = "计价器")
//    ResponseDTO<Boolean> checkSupportByChannelIdAndCityIdAndTypeAndProductId(
//            @NotNull(message = "channelId不能为空") @Positive(message = "channelId必须为大于0的正整数") @ApiParam(value = "渠道ID", required = true) Integer channelId,
//            @NotNull(message = "cityId不能为空") @Positive(message = "cityId必须为大于0的正整数") @ApiParam(value = "城市id", required = true) Integer cityId,
//            @NotNull(message = "type不能为空") @Positive(message = "type必须为大于0的正整数") @ApiParam(value = "类型", required = true) Integer type,
//            @NotNull(message = "showProductId不能为空") @Positive(message = "showProductId必须为大于0的正整数") @ApiParam(value = "前台产品ID", required = true) Integer showProductId);
//
//    /**
//     * 查询产品是否支持计价器 可校验后台产品是否支持计价器
//     *
//     * @param channelId     the channel id
//     * @param cityId        the city id
//     * @param type          类型：2计价器(故障维度)
//     * @param productId     后台产品ID
//     * @param showProductId 前台产品ID
//     * @return the response dto 返回true表示支持，false则不支持
//     */
//    @ApiOperation(value = "查询产品是否支持计价器", response = ResponseDTO.class, notes = "可校验后台产品是否支持计价器", tags = "计价器")
//    ResponseDTO<Boolean> checkSupportByChannelIdAndCityIdAndTypeAndProductId(
//            @NotNull(message = "channelId不能为空") @Positive(message = "channelId必须为大于0的正整数") @ApiParam(value = "渠道ID", required = true) Integer channelId,
//            @NotNull(message = "cityId不能为空") @Positive(message = "cityId必须为大于0的正整数") @ApiParam(value = "城市id", required = true) Integer cityId,
//            @NotNull(message = "type不能为空") @Positive(message = "type必须为大于0的正整数") @ApiParam(value = "类型", required = true) Integer type,
//            @Positive(message = "type必须为大于0的正整数") @ApiParam(value = "类型") Integer productId,
//            @NotNull(message = "showProductId不能为空") @Positive(message = "showProductId必须为大于0的正整数") @ApiParam(value = "前台产品ID", required = true) Integer showProductId);
//
//    /**
//     * 描述: 根据渠道、城市、产品校验是否支持计价器或预计价
//     * <p>计价器试点 and 预计价试点 and（计价器价格表 or 提前付价格表））</>
//     *
//     * @param channelId     渠道id
//     * @param cityId        城市id
//     * @param showProductIdList 前台产品ID集合
//     * @return java.lang.Boolean
//     * @author guoqiao
//     * @since 2021/6/28 18:15
//     */
//    @ApiOperation(value = "根据渠道、城市、产品校验是否支持计价器和预计价", response = ResponseDTO.class)
//    ResponseDTO<Map<Integer, Boolean>> checkTariffAndAdvance(
//            @NotNull(message = "channelId不能为空") @ApiParam(value = "渠道ID", required = true) Integer channelId,
//            @NotNull(message = "cityId不能为空") @ApiParam(value = "城市id", required = true) Integer cityId,
//            @NotNull(message = "showProductId不能为空") @ApiParam(value = "前台产品ID", required = true) List<Integer> showProductIdList);
//
//    /**
//     * 根据渠道、产品、前台产品id集合查询定金
//     *
//     * @param channelId   the channel id
//     * @param cityId      the city id
//     * @param showProductIdList 前台产品ID集合
//     * @return ResponseDTO<List<PilotEarnesPriceDRO>>
//     * @author guoqiao
//     * @since 2021/6/28 18:15
//     */
//    @ApiOperation(value = "根据渠道、产品、前台产品id集合查询定金", response = ResponseDTO.class)
//    ResponseDTO<List<PilotEarnesPriceDRO>> listPilotEarnesPrice(
//            @NotNull(message = "channelId不能为空")
//            @ApiParam(value = "渠道ID", required = true) Integer channelId,
//            @NotNull(message = "cityId不能为空")
//            @ApiParam(value = "城市id", required = true) Integer cityId,
//            @NotEmpty(message = "showProductId不能为空")
//            @ApiParam(value = "前台产品ID集合", required = true) List<Integer> showProductIdList);
//
//    /**
//     * 查询渠道城市是否支持计价器、三日退试点、优惠限制
//     *
//     * @param channelId   the channel id
//     * @param cityId      the city id
//     * @param userType    类型：1、员工白名单 2、工程师白名单
//     * @param servCategId 前台产品-服务分类ID
//     * @param categId     前台产品-二级产品分类ID
//     * @return the response dto 返回true表示支持，false则不支持
//     */
//    @ApiOperation(value = "查询渠道城市是否支持维修机器人并且在白名单中", response = ResponseDTO.class, notes = "查询渠道城市是否支持维修机器人并且在白名单中",
//            tags ="查询渠道城市是否支持维修机器人并且在白名单中")
//    ResponseDTO<Boolean> checkSupportAndWhitelistByChannelIdAndCityIdAndTypeAndCategId(
//            @NotNull(message = "channelId不能为空") @Positive(message = "channelId必须为大于0的正整数") @ApiParam(value = "渠道ID", required = true) Integer channelId,
//            @NotNull(message = "cityId不能为空") @Positive(message = "cityId必须为大于0的正整数") @ApiParam(value = "城市id", required = true) Integer cityId,
//            @NotNull(message = "servCategId不能为空") @Positive(message = "servCategId必须为大于0的正整数") @ApiParam(value = "前台产品-服务分类ID", required = true) Integer servCategId,
//            @NotNull(message = "categId不能为空") @Positive(message = "categId必须为大于0的正整数") @ApiParam(value = "前台产品-二级产品分类ID", required = true) Integer categId,
//            @NotNull(message = "userType不能为空") @Positive(message = "userType必须为大于0的正整数") @ApiParam(value = "类型:1、员工2、工程师", required = true) Integer userType,
//            @NotNull(message = "userId不能为空") @ApiParam(value = "前台产品-二级产品分类ID", required = true) String userId);
//
//
//}
